package com.linkage.repository.background;


import java.util.Date;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import com.linkage.pojo.background.UserRole;
import com.linkage.pojo.consumer.User;


/**
 * @标题：用户后台管理接口
 * @描述：用户操作接口
 * @author: 邓达
 */

@Repository
public interface UserManageRepository {
	
	//根据添加的用户对象信息添加新的用户资料
	public boolean createUser(User user,String roleName);
    

	//列出所有用户
    public List<Map<String, Object>> listAllUsers();

    //保存用户信息到数据库
    public void saveUser(User user);

    // 修改所选用户的信息
    public boolean editUser(User user,String changeRoleName);

    
    // 修改所选用户的信息
    public void update(User user);

    //删除选中的用户对象
    public void deleteUser(@Param("userId") Integer userId);

    //根据ID得到用户的对象
    public User getOneUserById(@Param("userId") Integer userId);

    //根据loginname得到用户对象
    public User getOneUserByLoginName(@Param("loginName") String loginName);
    
    //增加添加用户的权限
    public boolean addPermission(@Param("userId") Integer userId,@Param("roleName") String roleName);

    //根据user role id查找用户
    public UserRole findUserRoleById(Integer userId);

    //修改用户权限
    public void modifyUserRole(UserRole userRole);
	
    //保存用户权限
    public void saveUserRole(UserRole userRole);
    
    //删除用户角色
    public void deleteUserRole(UserRole userRole);
    
    
    //封禁与解封用户
    public void changeUserStatus(@Param("userId") Integer userId,@Param("userStatus") String userStatus);
    
}
